package com.dragon.modules.yuegou.service.act;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dragon.modules.yuegou.entity.act.AnnualRaffleEntity;
import com.dragon.modules.yuegou.model.act.AnnualRaffle;
import com.dragon.modules.yuegou.model.act.GetActivityResponse;
import com.dragon.modules.yuegou.model.act.LotteryResultsResponse;
import com.dragon.modules.yuegou.model.act.SignInResponse;
import com.dragon.modules.yuegou.properties.LotteryProperties;

/**
 * 年会抽奖 服务接口
 *
 * @author pbuilder generated
 * @date 2020-01-14 20:07:54
 * @version 2.0
 */
public interface AnnualRaffleService extends IService<AnnualRaffleEntity> {

    /**
     * 获取抽奖信息
     * @param mombile
     * @return
     */
	AnnualRaffle getAnnualRaffleInfo(String mombile);

    /**
     * 签到
     * @param memberId
     * @return
     */
    SignInResponse signIn(String memberId);

    /**
     * 获取活动信息
     * @param memberId
     * @return
     */
    GetActivityResponse getActivity(String memberId);

    /**
     * 获取开奖结果
     * @param activityId
     * @return
     */
    LotteryResultsResponse getResult(String activityId);

    /**
     * 缓存开奖结果
     * @param activityId
     * @param result
     */
    void cacheResult(String activityId,LotteryResultsResponse result);

    /**
     * 获取配置文件
     * @return
     */
    LotteryProperties getConfig();

    /**
     * 通知缓存已经开始抽奖
     * @param activityId
     */
    void startActivityCache(String activityId);

    /**
     * 是否活动已经开始
     * @param activityId
     * @return
     */
    Boolean isStartActivity(String activityId);
}